﻿using MiniErp.Entity.DataStreams.BOs;
using MiniErp.Entity.DataStreams.DOs.AssetManagement;
using MiniErp.Entity.DataStreams.DTOs.AssetManagement;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace MiniErp.Service.BusinessService.IService.IAssetManagement
{
    /// <summary>
    /// 资产管理系统主页服务层
    /// </summary>
    public interface IAssetIndexService
    {
        /// <summary>
        /// 增加一条资产信息
        /// </summary>
        /// <param name="addassetInfoDTO">需要增加的一条数据</param>
        /// <returns></returns>
        Task<bool> AddAssetInfoAsync(AddAssetInfoDTO addassetInfoDTO);

        /// <summary>
        /// 修改一条资产信息
        /// </summary>
        /// <param name="updateAssetInfoDTO">需要增加的一条数据</param>
        /// <returns></returns>
        Task<bool> UpdateAssetInfoAsync(UpdateAssetInfoDTO updateAssetInfoDTO);

        /// <summary>
        /// 删除一条资产信息
        /// </summary>
        /// <param name="allid">需要删除的编号</param>
        /// <returns></returns>
        Task<bool> DeleteAssetInfoAsync(int gid, int sid, int aid);

        /// <summary>
        /// 查询所有资产信息 //分页
        /// </summary>
        /// <param name="page">页码</param>
        /// <param name="num">每页数据条数</param>
        /// <returns></returns>
        Task<List<AssetInfoDTO>> GetAllAssetInfoAsync(int page, int num);


        /// <summary>
        /// 模糊查询符合条件的数据  //分页
        /// </summary>
        /// <param name="value">模糊查询值</param>
        /// <param name="page">页码</param>
        /// <param name="num">每页数据条数</param>
        /// <returns></returns>
        Task<List<AssetInfoDTO>> GetFuzzyAssetInfoAsync(string value, int page, int num);
    }
}
